-
Notifications
You must be signed in to change notification settings - Fork 16
feat: implement semantic-release with commit message validation for automated versioning and publishing #23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: implement semantic-release with commit message validation for automated versioning and publishing #23
Conversation
Co-authored-by: 8enSmith <798183+8enSmith@users.noreply.github.com>
Co-authored-by: 8enSmith <798183+8enSmith@users.noreply.github.com>
8enSmith
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good so far but I've left a few comments.
…ument required secrets Co-authored-by: 8enSmith <798183+8enSmith@users.noreply.github.com>
8enSmith
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good addition. Please see my additional comment regarding commit message formatting.
- Expanded README with detailed conventional commit format explanation - Added @commitlint/cli and @commitlint/config-conventional for validation - Created commitlint.config.cjs with strict conventional commit rules - Added commit-msg hook to automatically validate commit messages - Added commitlint script to package.json for manual validation - Documented importance of commit format for semantic versioning Co-authored-by: 8enSmith <798183+8enSmith@users.noreply.github.com>
8enSmith
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
* feat: add info wrt npm * feat: implement semantic-release with commit message validation for automated versioning and publishing (#23) * Initial plan * Initial analysis: Plan semantic-release implementation Co-authored-by: 8enSmith <798183+8enSmith@users.noreply.github.com> * feat: implement semantic-release for automated versioning and publishing Co-authored-by: 8enSmith <798183+8enSmith@users.noreply.github.com> * fix: address PR feedback - remove CHANGELOG.md from gitignore and document required secrets Co-authored-by: 8enSmith <798183+8enSmith@users.noreply.github.com> * docs: enhance commit message format documentation and add validation - Expanded README with detailed conventional commit format explanation - Added @commitlint/cli and @commitlint/config-conventional for validation - Created commitlint.config.cjs with strict conventional commit rules - Added commit-msg hook to automatically validate commit messages - Added commitlint script to package.json for manual validation - Documented importance of commit format for semantic versioning Co-authored-by: 8enSmith <798183+8enSmith@users.noreply.github.com> * feat: add semantic-release dry-run script --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: 8enSmith <798183+8enSmith@users.noreply.github.com>
This PR implements semantic-release for automated versioning and publishing of the mcp-open-library package, with automatic commit message validation to ensure reliable releases.
What's Changed
🚀 Semantic Release Configuration
.releaserc.jsonconfiguration for automatic versioning based on conventional commitssemantic-releasescript to package.json🔄 GitHub Actions Workflows
🔒 Commit Message Validation
@commitlint/cliand@commitlint/config-conventionalfor automatic validationnpm run commitlintscript for manual validation📚 Enhanced Documentation
How It Works
The project now provides a complete automated release pipeline:
Conventional Commit Format
The system enforces strict conventional commit formatting:
feat:- new features (minor version bump: 1.0.0 → 1.1.0)fix:- bug fixes (patch version bump: 1.0.0 → 1.0.1)feat!:orfix!:- breaking changes (major version bump: 1.0.0 → 2.0.0)docs:,style:,refactor:,test:,chore:- no version bumpInvalid commit messages are automatically rejected before reaching the repository, preventing release failures.
Security & Safety
mainbranch for securityGITHUB_TOKENandNPM_TOKENsecrets to be configuredTesting
All existing functionality remains unchanged with comprehensive validation:
This implementation follows semantic-release best practices and integrates seamlessly with the existing development workflow while ensuring release reliability through commit validation.
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.